declare i32 @getint()

declare void @putint(i32)

define i32 @main() {
label_entry:
  %op0 = alloca i32
  store i32 1399, i32* %op0
  %op1 = alloca i32
  store i32 1, i32* %op1
  %op2 = alloca i32
  store i32 1, i32* %op2
  %op3 = alloca i32
  %op4 = call i32 @getint()
  store i32 %op4, i32* %op3
  br label %label5
label5:                                                ; preds = %label_entry, %label26
  %op6 = load i32, i32* %op1
  %op7 = icmp slt i32 %op6, 99999999
  br i1 %op7, label %label8, label %label15
label8:                                                ; preds = %label5
  %op9 = load i32, i32* %op1
  %op10 = load i32, i32* %op0
  %op11 = add i32 %op9, %op10
  %op12 = load i32, i32* %op3
  %op13 = srem i32 %op11, %op12
  %op14 = icmp eq i32 %op13, 0
  br i1 %op14, label %label18, label %label19
label15:                                                ; preds = %label5
  %op16 = load i32, i32* %op3
  call void @putint(i32 %op16)
  %op17 = load i32, i32* %op1
  ret i32 %op17
label18:                                                ; preds = %label8
  store i32 411, i32* %op2
  br label %label26
label19:                                                ; preds = %label8
  %op20 = load i32, i32* %op1
  %op21 = load i32, i32* %op0
  %op22 = add i32 %op20, %op21
  %op23 = load i32, i32* %op3
  %op24 = srem i32 %op22, %op23
  %op25 = icmp eq i32 %op24, 1
  br i1 %op25, label %label32, label %label33
label26:                                                ; preds = %label18, %label40
  %op27 = load i32, i32* %op1
  %op28 = add i32 %op27, 1
  %op29 = load i32, i32* %op2
  %op30 = srem i32 %op29, 3
  %op31 = add i32 %op28, %op30
  store i32 %op31, i32* %op1
  br label %label5
label32:                                                ; preds = %label19
  store i32 101, i32* %op2
  br label %label40
label33:                                                ; preds = %label19
  %op34 = load i32, i32* %op1
  %op35 = load i32, i32* %op0
  %op36 = add i32 %op34, %op35
  %op37 = load i32, i32* %op3
  %op38 = srem i32 %op36, %op37
  %op39 = icmp eq i32 %op38, 3
  br i1 %op39, label %label41, label %label42
label40:                                                ; preds = %label32, %label42
  br label %label26
label41:                                                ; preds = %label33
  store i32 99, i32* %op2
  br label %label42
label42:                                                ; preds = %label33, %label41
  br label %label40
}
